<Workspace Version="1.3.4.6666" X="914.608265832619" Y="777.306484317186" zoom="0.425219115540745" ScaleFactor="100" Name="Home" Description="" RunType="Manual" RunPeriod="1000" HasRunWithoutCrash="True">
  <NamespaceResolutionMap />
  <Elements>
    <PythonNodeModels.PythonNode guid="dc1749e6-3574-4dac-a330-49942b3a47e6" type="PythonNodeModels.PythonNode" nickname="Python Script" x="-871.697630731064" y="-857.925489863763" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="true" inputcount="1">
      <PortInfo index="0" default="False" />
      <Script>import clr
import math
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Electrical import *
from Autodesk.Revit.DB import MEPSystem
clr.AddReference('DSCoreNodes')
import DSCore
from DSCore.List import *
import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)
clr.AddReference("System")
from System.Collections.Generic import List 
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB.Structure import *
clr.AddReference("ProtoGeometry")
from Autodesk.DesignScript.Geometry import *
 
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

collector = FilteredElementCollector(doc)
filter = ElementCategoryFilter(BuiltInCategory.OST_DuctCurves) 
all_ducts=collector.WherePasses(filter).WhereElementIsNotElementType().ToElements()
curves = []
curveLine = []
points = []
curLens = []
curStartPoint = []
lcur = []
directionX = []
directionY = []
directionZ = []
ldirZ = []
ducts = []
ars = []
rotX = []
rotY = []

for tray in all_ducts:
	#dirX = tray.Location.Curve.Direction.X
	#dirY = tray.Location.Curve.Direction.Y
	dirX = tray.Location.Curve.Direction.X
	dirY = tray.Location.Curve.Direction.Y
	dirZ = tray.Location.Curve.Direction.Z
	curve = tray.Location.Curve
	curves.append(Revit.GeometryConversion.RevitToProtoCurve.ToProtoType(curve, True))
	#directionX.append(dirX)
	directionY.append(dirY)
	directionZ.append(dirZ)
	
	radian_angle = 1.5708 - math.atan(dirX/dirY)
	ars.append(radian_angle)
	
	
for i in range(len(curves)):
	dz = directionZ[i]
	
	cZs = curves[i].StartPoint
	cZe = curves[i].EndPoint
	curLen = curves[i].Length
	
	
	if curLen &gt;= 1500:
		curStartPoint.append(curves[i].StartPoint)
		rotY.append(directionY[i])
		curLens.append(curves[i].Length)
		lcur.append(curves[i])		
		rotX.append(ars[i])
		ldirZ.append(dz)
		ducts.append(all_ducts[i])
OUT = lcur, curStartPoint, ldirZ, ducts, rotX, rotY



"""dirX = tray.Location.Curve.Direction.X
	dirY = tray.Location.Curve.Direction.Y
	dirZ = tray.Location.Curve.Direction.Z
	if dirY == 0:
		radian_angle = 0
	#elif dirZ == 1 or dirZ == -1:
	else:
		radian_angle = 1.5708 - math.atan(dirX/dirY)
	ars.append(radian_angle)"""
</Script>
    </PythonNodeModels.PythonNode>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="0a425b75-4f8a-42b1-ba63-15abc47d794e" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Шаг креплений" x="-1565.12289552906" y="-1479.58132527162" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="1000;" ShouldFocus="false" />
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="b4385771-77eb-49bf-92b1-a83065d569d9" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Curve.PointsAtSegmentLengthFromPoint" x="-403.432646575055" y="-978.306176913749" isVisible="false" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="ProtoGeometry.dll" function="Autodesk.DesignScript.Geometry.Curve.PointsAtSegmentLengthFromPoint@Autodesk.DesignScript.Geometry.Point,double">
      <PortInfo index="0" default="False" />
      <PortInfo index="1" default="True" />
      <PortInfo index="2" default="True" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="cd036319-b72d-4a0e-8edd-b8ea3abc0d2e" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Траектория проводника" x="-608.776433904514" y="-977.419531896521" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="a[0];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="19894a71-a437-4194-b96d-08c599ddb6f9" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Стартовая точка" x="-604.780898581896" y="-865.017868033696" isVisible="false" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="a[1];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <PythonNodeModels.PythonNode guid="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" type="PythonNodeModels.PythonNode" nickname="Python Script" x="924.912502049537" y="-964.544434492838" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="true" inputcount="9">
      <PortInfo index="0" default="False" />
      <PortInfo index="1" default="False" />
      <PortInfo index="2" default="False" />
      <PortInfo index="3" default="False" />
      <PortInfo index="4" default="False" />
      <PortInfo index="5" default="False" />
      <PortInfo index="6" default="False" />
      <PortInfo index="7" default="False" />
      <PortInfo index="8" default="False" />
      <Script>import clr
import math
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Electrical import *
from Autodesk.Revit.DB import MEPSystem
clr.AddReference('DSCoreNodes')
import DSCore
from DSCore.List import *
import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)
clr.AddReference("System")
from System.Collections.Generic import List 
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB.Structure import *
clr.AddReference("ProtoGeometry")
from Autodesk.DesignScript.Geometry import *
 
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

points = UnwrapElement(IN[0])
famtype_gorizontal = UnwrapElement(IN[1])
famtype_vertical = UnwrapElement(IN[2])
direction = UnwrapElement(IN[3])
ducts = UnwrapElement(IN[4])
famtype_parapet = UnwrapElement(IN[5])
fam_on_slope = UnwrapElement(IN[6])
ydirection = UnwrapElement(IN[7])

newobject = []
status = []
p = []
obj = []
xa = []
ya = []
TransactionManager.Instance.EnsureInTransaction(doc)

famtype_gorizontal.Activate()
famtype_vertical.Activate()
famtype_parapet.Activate()

for i in range(len(direction)):

	if ducts[i].LookupParameter("Наличие крепления").AsString() != "Проставлено" and ducts[i].LookupParameter("OBO_Крепление на парапет").AsInteger() == 1:		
		newobj = doc.Create.NewFamilyInstance(XYZ(points[i].X/304.8, points[i].Y/304.8, points[i].Z/304.8),famtype_parapet,StructuralType.NonStructural)

	if ducts[i].LookupParameter("Наличие крепления").AsString() != "Проставлено" and ducts[i].LookupParameter("OBO_Крепление на парапет").AsInteger() != 1:		
		if direction[i] == -1 or direction[i] == 1:
			newobj = doc.Create.NewFamilyInstance(XYZ(points[i].X/304.8, points[i].Y/304.8, points[i].Z/304.8),famtype_vertical,StructuralType.NonStructural)			
		#elif ducts[i].LookupParamter("Комментарии").AsString() == "Парапет":
			#newobj = doc.Create.NewFamilyInstance(XYZ(points[i].X/304.8, points[i].Y/304.8, points[i].Z/304.8),famtype_parapet,StructuralType.NonStructural)
		elif direction[i] &lt;= 0.05 and direction[i] &gt;= -0.05:		
			newobj = doc.Create.NewFamilyInstance(XYZ(points[i].X/304.8, points[i].Y/304.8, points[i].Z/304.8),famtype_gorizontal,StructuralType.NonStructural)
			xaxis = Line.ByStartPointEndPoint((Point.ByCoordinates(points[i].X, points[i].Y, points[i].Z)),(Point.ByCoordinates(points[i].X, points[i].Y + 100, (points[i].Z)))).ToRevitType()
			yaxis = Line.ByStartPointEndPoint((Point.ByCoordinates(points[i].X, points[i].Y, points[i].Z)),(Point.ByCoordinates(points[i].X, points[i].Y, (points[i].Z + 100)))).ToRevitType()
			xa.append(xaxis)
			ya.append(yaxis)			
			if ydirection &gt; 0:		
				Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, xa[i], (direction[i]))
				
			else:
				Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, xa[i], -(direction[i]))
			Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, ya[i], (ydirection[i]))
			
		else:
			newobj = doc.Create.NewFamilyInstance(XYZ(points[i].X/304.8, points[i].Y/304.8, points[i].Z/304.8),fam_on_slope,StructuralType.NonStructural)
			xaxis = Line.ByStartPointEndPoint((Point.ByCoordinates(points[i].X, points[i].Y, points[i].Z)),(Point.ByCoordinates(points[i].X, points[i].Y + 100, (points[i].Z)))).ToRevitType()
			yaxis = Line.ByStartPointEndPoint((Point.ByCoordinates(points[i].X, points[i].Y, points[i].Z)),(Point.ByCoordinates(points[i].X, points[i].Y, (points[i].Z + 100)))).ToRevitType()
			xa.append(xaxis)
			ya.append(yaxis)
			if ydirection &lt; 0:		
				Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, xa[i], (direction[i]))
				
			else:
				Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, xa[i], -(direction[i]))
			Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, ya[i], (ydirection[i]))
				
			
		d = direction[i]
		i+=1
		p.append(d)	
		newobject.append(newobj)
	else:		
		pass	
TransactionManager.Instance.TransactionTaskDone()	
for objects in ducts:
	objects.LookupParameter("Наличие крепления").Set("")	
OUT = newobject


"""yaxis = Line.ByStartPointEndPoint((Point.ByCoordinates(points[i].X, points[i].Y, points[i].Z)),(Point.ByCoordinates(points[i].X, points[i].Y, (points[i].Z)+100))).ToRevitType()		
			ya.append(yaxis)		
			Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, newobj.Id, ya[i], y_rotation[i])"""
</Script>
    </PythonNodeModels.PythonNode>
    <DSRevitNodesUI.FamilyTypes guid="9a70ca06-f618-4fca-906b-b941aac4d3c4" type="DSRevitNodesUI.FamilyTypes" nickname="Family Types" x="-1564.72193216455" y="-1659.72261726445" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="True" IsFrozen="false" isPinned="false" index="234:OBO_Держатель проводника для плоской кровли_Скрипт:OBO_Держатель проводника для плоской кровли_Скрипт" />
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="4bb6a585-7a78-43c8-b17d-44a931c75e51" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Flatten" x="-66.2683423093395" y="-977.525808187353" isVisible="false" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="BuiltIn" function="Flatten@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="8e529e35-7819-4784-a123-7841073d1071" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Ориентация по Z" x="-606.94053422499" y="-736.058448464147" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="a[2];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <DSRevitNodesUI.FamilyTypes guid="1baf5c3d-6a9b-48c6-b520-985e2e12aca0" type="DSRevitNodesUI.FamilyTypes" nickname="Family Types" x="-1563.30374043139" y="-1576.58277513692" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="True" IsFrozen="false" isPinned="false" index="506:Семейство1:Семейство1" />
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="a52c12b4-f64f-4317-aa33-1e0670ffcb65" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Count" x="-90.4960678684025" y="-833.960538146344" isVisible="true" isUpstreamVisible="true" lacing="Longest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="BuiltIn" function="Count@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <CoreNodeModels.Sequence guid="9190d53d-a51e-4a6d-b440-79843c8a541d" type="CoreNodeModels.Sequence" nickname="Sequence" x="128.55660192672" y="-741.150710584614" isVisible="true" isUpstreamVisible="true" lacing="Longest" isSelectedInput="False" IsFrozen="false" isPinned="false">
      <PortInfo index="0" default="True" />
      <PortInfo index="1" default="True" />
      <PortInfo index="2" default="True" />
    </CoreNodeModels.Sequence>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="c4b2375e-9c5c-45ea-92e6-d1b023ce2348" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Code Block" x="-6.51901272921555" y="-683.828792213864" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="0;" ShouldFocus="false" />
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="0c7f5653-4883-443b-afed-7e1b986d4050" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Flatten" x="363.798629250068" y="-843.193387418407" isVisible="true" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="true" assembly="BuiltIn" function="Flatten@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="dd2cfddc-2d40-4014-96f7-f204c934f626" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Полученные воздуховоды" x="-624.793208361661" y="-645.362235640588" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="true" CodeText="a[3];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="db267eeb-ef12-44c8-9b92-1ee06dcb031d" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="List.Cycle" x="154.34599479806" y="-493.558801159705" isVisible="true" isUpstreamVisible="true" lacing="Longest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="DSCoreNodes.dll" function="DSCore.List.Cycle@var[]..[],int">
      <PortInfo index="0" default="False" />
      <PortInfo index="1" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="14f543f4-0bfc-4f6e-be84-99be2805d90b" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Flatten" x="357.805868104152" y="-493.412620269418" isVisible="true" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="BuiltIn" function="Flatten@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <CoreNodeModels.Input.BoolSelector guid="e5d0f890-6a24-4fa9-ac01-6b218640c7eb" type="CoreNodeModels.Input.BoolSelector" nickname="Boolean" x="-1568.8628964564" y="-1374.99495728126" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="True" IsFrozen="false" isPinned="false">
      <System.Boolean>False</System.Boolean>
    </CoreNodeModels.Input.BoolSelector>
    <DSRevitNodesUI.FamilyTypes guid="dc85aa03-9264-4f16-8d54-4896d9cea8ee" type="DSRevitNodesUI.FamilyTypes" nickname="Family Types" x="-1406.42459459048" y="-1745.56001290406" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="True" IsFrozen="false" isPinned="false" index="401:OBO_Соединительная скоба_Сборка_скрипт:288 DIN" />
    <DSRevitNodesUI.FamilyTypes guid="2ee982c0-5b18-4a8e-b79a-b303b333e1e3" type="DSRevitNodesUI.FamilyTypes" nickname="Family Types" x="-1569.0553343305" y="-1288.07282718957" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="True" IsFrozen="false" isPinned="false" index="236:OBO_Держатель проволоки для плоской мембранной кровли_Скрипт:OBO_Держатель проволоки для плоской мембранной кровли_Скрипт" />
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="1d39a379-1df2-41c5-a72a-fd4559a01247" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="List.Cycle" x="172.1535639701" y="-328.853747800738" isVisible="true" isUpstreamVisible="true" lacing="Longest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="DSCoreNodes.dll" function="DSCore.List.Cycle@var[]..[],int">
      <PortInfo index="0" default="False" />
      <PortInfo index="1" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="0b72f31d-662a-4c62-957e-d62b4fae9ff0" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Flatten" x="375.613437276192" y="-328.707566910451" isVisible="true" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="BuiltIn" function="Flatten@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="9a608195-880f-43b0-9536-5c2058e22a4e" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Поворот по горизонтали" x="-636.047076113172" y="-549.810097352952" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="false" CodeText="a[4];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <Dynamo.Graph.Nodes.CodeBlockNodeModel guid="810cd97c-265e-4a22-b412-f4dd3eb4fc00" type="Dynamo.Graph.Nodes.CodeBlockNodeModel" nickname="Поворот по горизонтали" x="-605.772580940975" y="-163.83569077125" isVisible="true" isUpstreamVisible="true" lacing="Disabled" isSelectedInput="False" IsFrozen="false" isPinned="true" CodeText="a[5];" ShouldFocus="false">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.CodeBlockNodeModel>
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="efa43259-db35-4180-98ff-160d1e98cc86" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="List.Cycle" x="195.54991425408" y="-174.281199389262" isVisible="true" isUpstreamVisible="true" lacing="Longest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="DSCoreNodes.dll" function="DSCore.List.Cycle@var[]..[],int">
      <PortInfo index="0" default="False" />
      <PortInfo index="1" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
    <Dynamo.Graph.Nodes.ZeroTouch.DSFunction guid="fd1df544-3438-4950-bb39-73447917055b" type="Dynamo.Graph.Nodes.ZeroTouch.DSFunction" nickname="Flatten" x="399.009787560172" y="-174.135018498975" isVisible="true" isUpstreamVisible="true" lacing="Shortest" isSelectedInput="False" IsFrozen="false" isPinned="false" assembly="BuiltIn" function="Flatten@var[]..[]">
      <PortInfo index="0" default="False" />
    </Dynamo.Graph.Nodes.ZeroTouch.DSFunction>
  </Elements>
  <Connectors>
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="cd036319-b72d-4a0e-8edd-b8ea3abc0d2e" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="19894a71-a437-4194-b96d-08c599ddb6f9" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="8e529e35-7819-4784-a123-7841073d1071" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="dd2cfddc-2d40-4014-96f7-f204c934f626" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="9a608195-880f-43b0-9536-5c2058e22a4e" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc1749e6-3574-4dac-a330-49942b3a47e6" start_index="0" end="810cd97c-265e-4a22-b412-f4dd3eb4fc00" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="0a425b75-4f8a-42b1-ba63-15abc47d794e" start_index="0" end="b4385771-77eb-49bf-92b1-a83065d569d9" end_index="2" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="b4385771-77eb-49bf-92b1-a83065d569d9" start_index="0" end="4bb6a585-7a78-43c8-b17d-44a931c75e51" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="b4385771-77eb-49bf-92b1-a83065d569d9" start_index="0" end="a52c12b4-f64f-4317-aa33-1e0670ffcb65" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="cd036319-b72d-4a0e-8edd-b8ea3abc0d2e" start_index="0" end="b4385771-77eb-49bf-92b1-a83065d569d9" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="19894a71-a437-4194-b96d-08c599ddb6f9" start_index="0" end="b4385771-77eb-49bf-92b1-a83065d569d9" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="9a70ca06-f618-4fca-906b-b941aac4d3c4" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="4bb6a585-7a78-43c8-b17d-44a931c75e51" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="8e529e35-7819-4784-a123-7841073d1071" start_index="0" end="9190d53d-a51e-4a6d-b440-79843c8a541d" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="1baf5c3d-6a9b-48c6-b520-985e2e12aca0" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="2" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="a52c12b4-f64f-4317-aa33-1e0670ffcb65" start_index="0" end="9190d53d-a51e-4a6d-b440-79843c8a541d" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="a52c12b4-f64f-4317-aa33-1e0670ffcb65" start_index="0" end="db267eeb-ef12-44c8-9b92-1ee06dcb031d" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="a52c12b4-f64f-4317-aa33-1e0670ffcb65" start_index="0" end="1d39a379-1df2-41c5-a72a-fd4559a01247" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="a52c12b4-f64f-4317-aa33-1e0670ffcb65" start_index="0" end="efa43259-db35-4180-98ff-160d1e98cc86" end_index="1" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="9190d53d-a51e-4a6d-b440-79843c8a541d" start_index="0" end="0c7f5653-4883-443b-afed-7e1b986d4050" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="c4b2375e-9c5c-45ea-92e6-d1b023ce2348" start_index="0" end="9190d53d-a51e-4a6d-b440-79843c8a541d" end_index="2" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="0c7f5653-4883-443b-afed-7e1b986d4050" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="3" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dd2cfddc-2d40-4014-96f7-f204c934f626" start_index="0" end="db267eeb-ef12-44c8-9b92-1ee06dcb031d" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="db267eeb-ef12-44c8-9b92-1ee06dcb031d" start_index="0" end="14f543f4-0bfc-4f6e-be84-99be2805d90b" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="14f543f4-0bfc-4f6e-be84-99be2805d90b" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="4" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="e5d0f890-6a24-4fa9-ac01-6b218640c7eb" start_index="0" end="dc1749e6-3574-4dac-a330-49942b3a47e6" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="dc85aa03-9264-4f16-8d54-4896d9cea8ee" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="5" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="2ee982c0-5b18-4a8e-b79a-b303b333e1e3" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="6" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="1d39a379-1df2-41c5-a72a-fd4559a01247" start_index="0" end="0b72f31d-662a-4c62-957e-d62b4fae9ff0" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="0b72f31d-662a-4c62-957e-d62b4fae9ff0" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="7" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="9a608195-880f-43b0-9536-5c2058e22a4e" start_index="0" end="1d39a379-1df2-41c5-a72a-fd4559a01247" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="810cd97c-265e-4a22-b412-f4dd3eb4fc00" start_index="0" end="efa43259-db35-4180-98ff-160d1e98cc86" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="efa43259-db35-4180-98ff-160d1e98cc86" start_index="0" end="fd1df544-3438-4950-bb39-73447917055b" end_index="0" portType="0" />
    <Dynamo.Graph.Connectors.ConnectorModel start="fd1df544-3438-4950-bb39-73447917055b" start_index="0" end="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" end_index="8" portType="0" />
  </Connectors>
  <Notes />
  <Annotations>
    <Dynamo.Graph.Annotations.AnnotationModel guid="6741d6a2-ddfd-4aed-ad59-bdf47700f8c3" annotationText="Вводные данные" left="-1578.8628964564" top="-1791.56001290406" width="814.14096429185" height="484.5650556228" fontSize="30" InitialTop="-1745.56001290406" InitialHeight="305.074811513879" TextblockHeight="36" backgrouund="#FFFF7BAC">
      <Models ModelGuid="0a425b75-4f8a-42b1-ba63-15abc47d794e" />
      <Models ModelGuid="9a70ca06-f618-4fca-906b-b941aac4d3c4" />
      <Models ModelGuid="1baf5c3d-6a9b-48c6-b520-985e2e12aca0" />
      <Models ModelGuid="e5d0f890-6a24-4fa9-ac01-6b218640c7eb" />
      <Models ModelGuid="dc85aa03-9264-4f16-8d54-4896d9cea8ee" />
    </Dynamo.Graph.Annotations.AnnotationModel>
    <Dynamo.Graph.Annotations.AnnotationModel guid="8f715175-6e27-405f-8e40-3922e0c6ab54" annotationText="Получение свойств проводников" left="-881.697630731064" top="-1059.41953189652" width="452.92119682655" height="507.057296255933" fontSize="30" InitialTop="-977.419531896521" InitialHeight="293.892736393594" TextblockHeight="72" backgrouund="#FFBB87C6">
      <Models ModelGuid="dc1749e6-3574-4dac-a330-49942b3a47e6" />
      <Models ModelGuid="cd036319-b72d-4a0e-8edd-b8ea3abc0d2e" />
      <Models ModelGuid="19894a71-a437-4194-b96d-08c599ddb6f9" />
      <Models ModelGuid="8e529e35-7819-4784-a123-7841073d1071" />
      <Models ModelGuid="dd2cfddc-2d40-4014-96f7-f204c934f626" />
    </Dynamo.Graph.Annotations.AnnotationModel>
    <Dynamo.Graph.Annotations.AnnotationModel guid="b7a6157c-0d78-4f15-abd6-b44010ce5d74" annotationText="Расстановка креплений" left="914.912502049537" top="-1046.54443449284" width="178.306666666667" height="383" fontSize="30" InitialTop="-964.544434492838" InitialHeight="201" TextblockHeight="72" backgrouund="#FFC1D676">
      <Models ModelGuid="5f4a11cc-de9f-4d08-98bf-fc33e0dfd4d8" />
    </Dynamo.Graph.Annotations.AnnotationModel>
    <Dynamo.Graph.Annotations.AnnotationModel guid="057c8a4e-19ad-4fbc-a73f-06d66fa53130" annotationText="Подготовка точек и их свойств" left="-413.432646575055" top="-1024.30617691375" width="966.231275825123" height="433.477384699885" fontSize="30" InitialTop="-978.306176913749" InitialHeight="374.683635266376" TextblockHeight="36" backgrouund="#FFFFC999">
      <Models ModelGuid="b4385771-77eb-49bf-92b1-a83065d569d9" />
      <Models ModelGuid="4bb6a585-7a78-43c8-b17d-44a931c75e51" />
      <Models ModelGuid="a52c12b4-f64f-4317-aa33-1e0670ffcb65" />
      <Models ModelGuid="9190d53d-a51e-4a6d-b440-79843c8a541d" />
      <Models ModelGuid="c4b2375e-9c5c-45ea-92e6-d1b023ce2348" />
      <Models ModelGuid="0c7f5653-4883-443b-afed-7e1b986d4050" />
    </Dynamo.Graph.Annotations.AnnotationModel>
    <Dynamo.Graph.Annotations.AnnotationModel guid="359fd3bd-2cc4-4dac-9d53-601884c2784e" annotationText="Подготовка списка воздуховодов" left="144.34599479806" top="-575.558801159705" width="402.459873306092" height="201" fontSize="30" InitialTop="-493.558801159705" InitialHeight="149" TextblockHeight="72" backgrouund="#FFFFC999">
      <Models ModelGuid="db267eeb-ef12-44c8-9b92-1ee06dcb031d" />
      <Models ModelGuid="14f543f4-0bfc-4f6e-be84-99be2805d90b" />
    </Dynamo.Graph.Annotations.AnnotationModel>
  </Annotations>
  <Presets />
  <Cameras>
    <Camera Name="Фоновый просмотр" eyeX="52232.078125" eyeY="76953.0234375" eyeZ="30092.41796875" lookX="-30341.869140625" lookY="-72657.671875" lookZ="-47062.1875" upX="-0.348303586244583" upY="0.766044437885284" upZ="-0.540241181850433" />
  </Cameras>
</Workspace>